/*
 * Copyright (c) 2013, FPX and/or its affiliates. All rights reserved.
 * Use, Copy is subject to authorized license.
 */
package pyip.lib.javalearn.format;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import pyip.lib.javalearn.Printer;

/**
 * @author yepeng
 * @date 2015年7月29日
 */
public class DateFormatDemo {
    public static void main(String[] args) {
        DateFormatDemo demo = new DateFormatDemo();
        demo.testCalendar();
    }
    
    public void testCalendar() {
        Calendar c1 = Calendar.getInstance();
        c1.setTime(new Date());

        // 当Calendar中设置的时间超过每项的最大值时,会以减去最大值后的值设置时间,例如月份设置13,最后会变成13-11=02,同时年份加1
        Calendar c2 = Calendar.getInstance();
        c2.set(1920, 13, 24, 22, 32, 22);
        
        // 使用pattern
        SimpleDateFormat format = new SimpleDateFormat();
        format.applyPattern("yyyy-MM-dd HH:mm:ss");
        
        // 使用约定格式
        DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.ENGLISH);
        DateFormat dateFormat1 = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA);

        // 不同模式对应的格式略有不同,有时间可以测试多一点模式
        Printer.out.println("yyyy-MM-dd hh:mm:ss --> " + format.format(c1.getTime()));
        Printer.out.println("c2.set(1920, 13, 24, 22, 32, 22) --> " + format.format(c2.getTime()));
        Printer.out.println("DateFormat.FULL --> " + dateFormat.format(c1.getTime()));
        Printer.out.println("DateFormat.LONG --> " + dateFormat1.format(c1.getTime()));
        
        Printer.out.println();
        Date date = new Date(); 
        String time = String.format("%tc", date); 
        String form = String.format("%tF", date); 
        Printer.out.println("全部的时间信息是："+time); 
        Printer.out.println("年-月-日的日期格式："+form);

    }
}
